第一章
1.计算机重要指标--性能、成本、功耗:给两台机器的IPC,哪台更快?把某一部分提高会怎么样?(作业题?)计算功耗,功耗和频率成正比;与电压平方成正比。
第二章
1.原码补码转换(pass),注意原码表示范围0-2n次方-1,补码负的2的n-1次方--2的n-1次方-1
2.CMOS门电路算延迟,线性模型,多少负载多少延迟。本身延迟多少,多少延迟每pf,多少负载,算出多少延迟。
3.触发器,计算setup和hold时间clk2q的时间。
4.晶体管级电路一定要会画(与门或门非门理论上可以组合出所有逻辑)
5.浮点数的表示,IEEE标准,浮点数与十进制数转换。
第三章
1.LLSC指令编程,保证程序原子性。
第四章
1.会画时空图/流水线图,给定条件,诸如流水线能够前递,画出图;给定一段代码,发生流水线阻塞,要求优化代码/调换代码,解决阻塞;取数和运算之间空一拍,在循环中怎么处理能够不空这一拍?
2.Tomasulo算法的那张图,推算某一时刻ROB/浮点寄存器/保留站是什么状态;假设某条指令发生例外,会是什么情况(目测不大容易考,处理起来挺麻烦的)
3.请描述动态流水线/ROB/保留站/重命名寄存器的作用
第五章
1.一段程序,怎样设计分支预测,能够预测准确。
2.一段程序用2bit的bht预测,正确率是怎样的,怎样改进它(结合BTB?)
3.循环展开,软流水,一段程序循环展开几次排一排,软流水再写出来看看效率怎么样,循环展开代码膨胀,软流水不会。
第六章
1.先行进位加法器:会算延迟,了解结构,会写进位逻辑。
2.booth算法:画图或RTL
3.wallace树:画图或RTL
第七章
1.会算AMAT,注意题目措辞
2.会算cache结构,告诉容量多大,几路组相连,写出offset、index、page是哪几位,页着色、虚地址的影响。
第八章
1.写个程序例如array = (int*)malloc(0x1000);for(i=0;i<1024;i++)array[i]=0;,告诉TLB结构,有多少次失效,充填失效、无效失效。一项管连续的两个虚页。
第九章
1.chche一致性:pipjpk,三块cache一块内存的图,给一个初始状态,以及各处理器分别发了什么请求,最后cache和内存的状态。
2.LLSC实现一些同步操作